package cn.cw.itsource;

import cn.cw.itsource.entity.User;
import cn.cw.itsource.mapper.UserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import tk.mybatis.mapper.entity.Example;

import java.util.List;

/*
 * 这个测试类，用于测试 tkmapper内置crud的操作
 *      以UserMapper为例
 *
 *
 *
 *
 *
 */
@SpringBootTest
@RunWith(SpringRunner.class)
public class MainAppTest {
    @Autowired
    private UserMapper userMapper;

    @Test//查询所有数据
    public void findAllTest() {
        List<User> users = userMapper.selectAll();

        System.out.println(users);
    }

    @Test//根据指定的查询条件进行查询的操作
    public void findAllByParamsTest(){
        Example example = new Example(User.class);
        //查询年龄大于18岁，且姓名中包含 李这个字的用户信息
        example.and().andGreaterThan("age", 18).andLike("name", "李");

        //如何执行查询？
        List<User> users = userMapper.selectByExample(example);
        System.out.println(users);


    }

    /*
        内置的新增、修改和删除的方法，都是通过类名来区分
                userMapper.insert()
                userMapper.updateByPrimaryKey()
                userMapper.deleteByPrimaryKey()
     */

}
